﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Net.Mail;
using ServicioComunitario2.EnlaceDatos.SqlServer;


namespace ServicioComunitario2.Logica.Clases
{
    public class Informacion
    {
        #region Atributos
        private int idHistoria;
        private string _fechaCorta;
        private string _nombreAutor;
        private DateTime fechaInicio;
        private DateTime fechaFin;
        private string cuerpoHistoria;
        private int idAutor;
        #endregion

        #region Constructor

        public Informacion() { 
        }

        public Informacion(int idHist, DateTime fechaIni, DateTime fechaFin, string cuerpoHist, int idAutor) {
            this.FechaInicio = fechaIni;
            this.CuerpoHistoria = cuerpoHist;
            this.IdAutor = idAutor;
            this.FechaFin = fechaFin;
            this.IdHistoria = idHist;
        
        }


        public Informacion(int idHist, DateTime fechaIni, string cuerpoHist)
        {
            this.FechaInicio = fechaIni;
            this.CuerpoHistoria = cuerpoHist;
            this.IdHistoria = idHist;

        }

        public Informacion(DateTime fechaIni, DateTime fechaFin, string cuerpoHist, int idAutor)
        {
            this.FechaInicio = fechaIni;
            this.CuerpoHistoria = cuerpoHist;
            this.IdAutor = idAutor;
            this.FechaFin = fechaFin;
        }

        #endregion

        #region gets y sets
        public string NombreAutor
        {
            get { return _nombreAutor; }
            set { _nombreAutor = value; }
        }
        public string FechaCorta
        {
            get { return _fechaCorta; }
            set { _fechaCorta = value; }
        }

        public int IdHistoria
        {
            get { return idHistoria; }
            set { idHistoria = value; }
        }

        public DateTime FechaInicio
        {
            get { return fechaInicio; }
            set { fechaInicio = value; }
        }

        public DateTime FechaFin
        {
            get { return fechaFin; }
            set { fechaFin = value; }
        }

        public string CuerpoHistoria
        {
            get { return cuerpoHistoria; }
            set { cuerpoHistoria = value; }
        }

        public int IdAutor
        {
            get { return idAutor; }
            set { idAutor = value; }
        }
        #endregion

        #region Metodos de manejo

        public bool AgregarInformacion(Informacion nuevaInformacion)
        {
            SqlInformacion informacion = new SqlInformacion();

            return informacion.InsertarInformacion(nuevaInformacion);

        }

        public Informacion ConsultarInformacion(int idHistoria)
        {
            SqlInformacion informacion = new SqlInformacion();

            return informacion.ConsultarInformacion(idHistoria);

        }

        public List<Informacion> ListaInformacion()
        {

            SqlInformacion infoAux = new SqlInformacion();

            return (infoAux.ListarTodasInformaciones());


        }

        #endregion

    }

}